package com.canaan.business.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.canaan.common.annotation.Excel;
import com.canaan.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 入库单对象 wms_in_stock_order
 *
 * @author ruoyi
 * @date 2022-12-20
 */
public class WmsInStockOrderVo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 编号 */
    @Excel(name = "单据编号")
    private String no;

    /** 类型，1生产入库 2退料入库 3报废入库 4退货入库 5待检入库 6收货入库 7调拨入库 8其他入库 */
    private Integer orderType;

    /** 申请状态 1新建 2进行中 */
    @Excel(name = "状态",dictType = "invoice_order_status")
    private Integer orderStatus;

    /** 关联编号 */
    @Excel(name = "来源单号")
    private String relOrderNo;

    /** 区域编号 */
    @Excel(name = "所在区域")
    private String area;

    /**
     * 线边仓
     */
    @Excel(name = "线边仓")
    private String lineSideWarehouseNo;

    /**
     * 线边仓名称
     */
    @Excel(name = "线边仓名称")
    private String lineSideWarehouseName;

    /** 客户编号 */
    private String customerNo;
    /** 客户名称 */
    @Excel(name = "客户")
    private String customerName;

    /** 来源地址 */
    @Excel(name = "来源地址")
    private String site;

    /** 入库原因 */
    @Excel(name = "入库原因")
    private String cause;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    /** 工单编号 */
//    @Excel(name = "工单编号")
    private String workOrderNo;

    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date completeTime;

    /** 入库申请总数 */
    @Excel(name = "入库申请总数")
    private Long totalQty;

    /** 实际入库总数 */
    @Excel(name = "实际入库总数")
    private Long totalActualQty;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createByName;

    /** 创建时间 */
    @Excel(name = "创建时间", type = Excel.Type.EXPORT, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新人 */
    @Excel(name = "最后更新人")
    private String updateByName;

    /** 更新时间 */
    @Excel(name = "最后更新时间", type = Excel.Type.EXPORT, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 物料编号 */
    @Excel(name = "物料编号")
    private String productNo;

    /** 物料名称 */
    @Excel(name = "物料名称")
    private String productName;

    /** 目标仓库编号 */
    @Excel(name = "目标仓库")
    private String storehouseNo;

    /** 目标仓库名称 */
    @Excel(name = "目标仓库名称")
    private String storehouseName;

    /** 目标库位编号 */
    @Excel(name = "目标库位")
    private String storehouseLocationNo;

    /** 目标库位名称 */
    @Excel(name = "目标库位名称")
    private String storehouseLocationName;

    /** 入库申请数 */
    @Excel(name = "入库申请数")
    private Long orderQty;

    /** 实际入库数 */
    @Excel(name = "实际入库数")
    private Long actualQty;

    /** 码货员名称 */
    @Excel(name = "码货员")
    private String shipperName;

    /** 码货单编号 */
    @Excel(name = "码货单号")
    private String yardageGoodsOrderNo;

    /** 排序 */
//    @Excel(name = "排序")
    private Integer sort;

    /** 是否删除：1是 0否 */
    private String delFlag;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setNo(String no)
    {
        this.no = no;
    }

    public String getNo()
    {
        return no;
    }
    public void setRelOrderNo(String relOrderNo)
    {
        this.relOrderNo = relOrderNo;
    }

    public String getRelOrderNo()
    {
        return relOrderNo;
    }
    public void setOrderStatus(Integer orderStatus)
    {
        this.orderStatus = orderStatus;
    }

    public Integer getOrderStatus()
    {
        return orderStatus;
    }
    public void setWorkOrderNo(String workOrderNo)
    {
        this.workOrderNo = workOrderNo;
    }

    public String getWorkOrderNo()
    {
        return workOrderNo;
    }
    public void setCompleteTime(Date completeTime)
    {
        this.completeTime = completeTime;
    }

    public Date getCompleteTime()
    {
        return completeTime;
    }
    public void setTotalActualQty(Long totalActualQty)
    {
        this.totalActualQty = totalActualQty;
    }

    public Long getTotalActualQty()
    {
        return totalActualQty;
    }
    public void setSort(Integer sort)
    {
        this.sort = sort;
    }

    public Integer getSort()
    {
        return sort;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public Long getTotalQty() {
        return totalQty;
    }

    public void setTotalQty(Long totalQty) {
        this.totalQty = totalQty;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public String getArea() {
        return area;
    }

    public void setArea(String area) {
        this.area = area;
    }

    public String getCreateByName() {
        return createByName;
    }

    public void setCreateByName(String createByName) {
        this.createByName = createByName;
    }

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getUpdateByName() {
        return updateByName;
    }

    public void setUpdateByName(String updateByName) {
        this.updateByName = updateByName;
    }

    @Override
    public Date getUpdateTime() {
        return updateTime;
    }

    @Override
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("no", getNo())
            .append("relOrderNo", getRelOrderNo())
            .append("orderStatus", getOrderStatus())
            .append("workOrderNo", getWorkOrderNo())
            .append("completeTime", getCompleteTime())
            .append("totalQty", getTotalQty())
            .append("totalActualQty", getTotalActualQty())
            .append("sort", getSort())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }

    public String getProductNo() {
        return productNo;
    }

    public void setProductNo(String productNo) {
        this.productNo = productNo;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getStorehouseNo() {
        return storehouseNo;
    }

    public void setStorehouseNo(String storehouseNo) {
        this.storehouseNo = storehouseNo;
    }

    public String getStorehouseName() {
        return storehouseName;
    }

    public void setStorehouseName(String storehouseName) {
        this.storehouseName = storehouseName;
    }

    public String getStorehouseLocationNo() {
        return storehouseLocationNo;
    }

    public void setStorehouseLocationNo(String storehouseLocationNo) {
        this.storehouseLocationNo = storehouseLocationNo;
    }

    public String getStorehouseLocationName() {
        return storehouseLocationName;
    }

    public void setStorehouseLocationName(String storehouseLocationName) {
        this.storehouseLocationName = storehouseLocationName;
    }

    public Long getOrderQty() {
        return orderQty;
    }

    public void setOrderQty(Long orderQty) {
        this.orderQty = orderQty;
    }

    public Long getActualQty() {
        return actualQty;
    }

    public void setActualQty(Long actualQty) {
        this.actualQty = actualQty;
    }

    public String getShipperName() {
        return shipperName;
    }

    public void setShipperName(String shipperName) {
        this.shipperName = shipperName;
    }

    public String getYardageGoodsOrderNo() {
        return yardageGoodsOrderNo;
    }

    public void setYardageGoodsOrderNo(String yardageGoodsOrderNo) {
        this.yardageGoodsOrderNo = yardageGoodsOrderNo;
    }

    public String getCustomerNo() {
        return customerNo;
    }

    public void setCustomerNo(String customerNo) {
        this.customerNo = customerNo;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCause() {
        return cause;
    }

    public void setCause(String cause) {
        this.cause = cause;
    }

    public String getSite() {
        return site;
    }

    public void setSite(String site) {
        this.site = site;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getLineSideWarehouseNo() {
        return lineSideWarehouseNo;
    }

    public void setLineSideWarehouseNo(String lineSideWarehouseNo) {
        this.lineSideWarehouseNo = lineSideWarehouseNo;
    }

    public String getLineSideWarehouseName() {
        return lineSideWarehouseName;
    }

    public void setLineSideWarehouseName(String lineSideWarehouseName) {
        this.lineSideWarehouseName = lineSideWarehouseName;
    }
}
